home *** CD-ROM | disk | FTP | other *** search
/ DS-CD ROM 2 1993 August / DS CD-ROM 2.Ausgabe (August 1993).iso / programm / ds0257 / readme.exe / LIB4A86.PRT < prev   
Text File  |  1992-02-16  |  42KB  |  1,381 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                               Lib4A86 V1.20 
  9.  
  10.                             Release 01.03.1992 
  11.  
  12.              Eine Sammlung von Routinen für den Assembler A86 
  13.  
  14.  
  15.                             (c) Copyright by
  16.  
  17.                            Bernd Schemmer        
  18.                            Ondrup 117            
  19.                            4710 Lüdinghausen 2   
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.                     Copyright (c) 1990 - 1992 by B. Schemmer
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. ────────────────────────────────────────────────────────────────────────────────
  60. Dokumentation für Lib4A86                                           Seite    1
  61.  
  62.  
  63.  
  64.  
  65.    Inhalt                                                 Seite
  66.    ────────────────────────────────────────────────────────────
  67.  
  68.  
  69.    Beschreibung ............................................  2
  70.    Benutzung der Sammlung ..................................  5
  71.    Weitergabe von Lib4A86 ..................................  6
  72.    Vertriebsbedingungen für Händler und Mailboxen ..........  7
  73.    Gewährleistung ..........................................  8
  74.    Garantieausschlußerklärung ..............................  8
  75.    Inhalt der Dateien ......................................  9
  76.    Inhalt der Datei LIB.EXE und der Datei DOC.EXE ..........  9
  77.    Interna der .LIB, .MAB und .BIB-Dateien ................. 12
  78.    Der Unterschied zwischen .LIB-, .MAB und .BIB-Dateien ... 12
  79.    Inhalt der Datei DEMO.EXE ............................... 13
  80.    Inhalt der Datei UTIL.EXE ............................... 15
  81.    Inhalt der Datei INC.EXE ................................ 15
  82.    Einschränkungen der Routinen ............................ 15
  83.    Arbeiten mit den Routinen ............................... 17
  84.    Copyright ............................................... 20
  85.    Bestellformular für die Vollversion ..................... 20
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119. ────────────────────────────────────────────────────────────────────────────────
  120. Inhalts-Verzeichnis                                                     I    1
  121.  
  122.  
  123.  
  124. Beschreibung
  125. ────────────
  126.  
  127.    Lib4A86 ist eine  umfangreiche Sammlung  von mir erstellter Routinen
  128.    und Macros für den Assembler A86 (über 290 Routinen und Macros).
  129.    Zusätzlich beinhaltet Lib4A86 auch mehrere  Utilities für die Arbeit
  130.    mit dem A86.
  131.  
  132.    Lib4A86 ist  vor allen für Programmierer mit mindestens zur Program-
  133.    mierung von  kleineren Programmen oder Routinen ausreichenden Kennt-
  134.    nissen in der Assembler-Programmierung gedacht.
  135.  
  136.    Die Sammlung enthält im Moment u.a. folgende Routinen:
  137.  
  138.     - Routinen  zur  Bearbeitung  des globalen und lokalen Environments
  139.       und des Environments des aufrufenden Prozesses. (Lesen, Erstellen
  140.       oder Ändern von Environmentvariablen)
  141.  
  142.     - Routinen zur Bearbeitung der Parameter eines Programms
  143.  
  144.     - Routinen zur Ausführung von Programmen
  145.  
  146.     - Routinen zur Ein-/Ausgabe von Zeichen und Zeichenketten über DOS
  147.       (über die 'alten' Funktionen und über die 'neuen' Funktionen)
  148.  
  149.     - Routinen zur Bearbeitung von Directorys und  Disketten bzw. Fest-
  150.       platten (z.B. ExistDir, MakeDir, RemoveDir, ChangeDir, etc.)
  151.  
  152.     - Routinen zur Bearbeitung von Dateien
  153.       (z.B. Kopieren, Löschen, Umbenennen, Datum und Zeit setzen/lesen,
  154.        Attribute lesen/setzen, Bearbeitung von Dateigruppen, etc.)
  155.  
  156.     - Routinen zum  gepufferten Lesen und Schreiben von (sequentiellen)
  157.       Textdateien
  158.  
  159.     - Routinen zum  gepufferten Bearbeiten von Record-Dateien mit wahl-
  160.       freiem Zugriff
  161.  
  162.     - Routinen zur Konvertierung von Werten in Zeichenketten
  163.       (in  allen Formaten  mit  einer Basis zwischen  2 und 15, z.B. im
  164.        binären, octalen, dezimalen oder hexadezimalen Format)
  165.  
  166.     - Routinen zur Konvertierung von Zeichenketten in Werten
  167.       (in  allen Formaten  mit  einer Basis zwischen  2 und 15, z.B. im
  168.        binären, octalen, dezimalen oder hexadezimalen Format)
  169.  
  170.     - Routinen zur Druckersteuerung
  171.  
  172.     - Routinen zur Nutzung der DOS-Speicherverwaltung
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179. ────────────────────────────────────────────────────────────────────────────────
  180. Dokumentation für Lib4A86                                           Seite    2
  181.  
  182.  
  183.  
  184.     - Routinen zur Verwaltung von BasedHeaps
  185.  
  186.     - Routinen zur Bearbeitung von Strings
  187.  
  188.     - Routinen zur Bearbeitung von (FAR-)Adressen
  189.  
  190.     - Routinen zur Bearbeitung von Long-Integer-Werten (32 Bit)
  191.  
  192.     - Routinen zur Bearbeitung von Mengen
  193.  
  194.     - Routinen  zur  Verwaltung  von stream- und  meldungs-orientierten
  195.       Queuen
  196.  
  197.     - Routinen zur Verwaltung von meldungs-orientierten Stacks
  198.  
  199.     - Routinen zur Bearbeitung von Datum und Zeit
  200.  
  201.     - Routinen zur Nutzung des CLOCK$-Devices
  202.  
  203.     - Routinen zur Kommunikation mit dem Druckerspooler PRINT
  204.  
  205.     - Routinen zur Kommunikation mit dem DOS-Util ASSIGN.COM
  206.  
  207.     - Ein  Handler  für den  Interrupt 24h zum  Abfangen von  Hardware-
  208.       Fehlern
  209.  
  210.  
  211.    Die Sammlung enthält im Moment u.a. folgende Macros:
  212.  
  213.     - Macros zur Tastatur-Verwaltung über den Interrupt 16h
  214.  
  215.     - Macros  und Definititionen zur  Nutzung der undokumentierten DOS-
  216.       Features
  217.  
  218.     - Macros und Definitionen zur Nutzung der STACKS-Verwaltung von DOS
  219.  
  220.     - Macros und  Definitionen zur  Bearbeitung von  Disketten/Plattten
  221.       auf Lowlevel-Ebene
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239. ────────────────────────────────────────────────────────────────────────────────
  240. Dokumentation für Lib4A86                                           Seite    3
  241.  
  242.  
  243.  
  244.    Utilities in der aktuellen Version sind:
  245.  
  246.     MAKEDOC.COM
  247.  
  248.        MAKEDOC dient zum Erstellen  der Dokumentation  eines Assembler-
  249.        Quelltextes  durch  Extrahieren  von  bestimmten  Programm-  und
  250.        Kommentarteilen aus dem Quelltexten.
  251.  
  252.  
  253.     MAKELIB.COM
  254.  
  255.        MAKELIB ermöglicht die  Erstellung einer Speicherplatz sparenden
  256.        Version  von  Assembler-Quelltexten als Quelltext-Libary für den
  257.        A86.
  258.  
  259.  
  260.    Für  die  Zukunft ist  die  fortlaufende  Erweiterung  der  Sammlung
  261.    Lib4A86 um neue Routinen und Utilities geplant.
  262.  
  263.  
  264.    Die Systemvorraussetzungen zur Nutzung von Lib4A86 sind minimal:
  265.  
  266.     IBM-PC/XT/AT/386 mit Festplatte                          
  267.  
  268.     Betriebssystem MS-DOS oder PC-DOS Version 3.0 oder höher 
  269.  
  270.     und der Assembler A86 V3.22 oder höher                   
  271.      (Die  Shareware-Version genügt,  der A86 ist nicht im Lieferumfang
  272.       enthalten.)
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299. ────────────────────────────────────────────────────────────────────────────────
  300. Dokumentation für Lib4A86                                           Seite    4
  301.  
  302.  
  303.  
  304. Benutzung der Sammlung
  305. ──────────────────────
  306.  
  307.    Die Sammlung Lib4A86 wird als  Shareware  vertrieben.  Dies  gewähr-
  308.    leistet,  daß  Sie die  Routinen erst ausgiebig testen können  bevor
  309.    Sie die Vollversion erwerben.
  310.  
  311.     Sie dürfen deshalb die Routinen  in  Programmen für  den eigenen 
  312.     Bedarf 4 Wochen lang testen.                                     
  313.  
  314.    Falls Sie Lib4A86 nach dieser Testphase weiter benutzen wollen, oder
  315.    falls  Sie Programme, die  unter  Zuhilfename  einer  oder  mehrerer
  316.    Utils,  Routinen, Macros  oder  Definitionen   aus Lib4A86  erstellt
  317.    wurden, vertreiben wollen  (sei  es nun als Public-Domain, Shareware
  318.    oder kommerziell), müssen Sie die Vollversion erwerben.
  319.  
  320.     Die Vollversion kostet 50,- DM und beinhaltet zusätzlich: 
  321.  
  322.    - die kommentierten (!) Quelltexte aller Routinen und Macros  in der
  323.      neuesten Version
  324.  
  325.    - die Möglichkeit zum kostengünstigen Bezug von Updates
  326.  
  327.    und
  328.  
  329.    - das Recht, die Lib4A86  beliebig in Programmen  die Sie vertreiben
  330.      wollen zu nutzen (OHNE weitere Lizenzgebühren o.ä.)
  331.  
  332.      Die  einzigen  Bedingungen  für  die Nutzung der  Vollversion  von
  333.      Lib4A86 in eigenen Programmen sind:
  334.  
  335.      1. im  übersetztem Programm (also in der '.COM' bzw. '.EXE'-Datei)
  336.         muß im Klartext die Meldung
  337.  
  338.         'Lib4A86 (c) B. SCHEMMER '
  339.  
  340.         erscheinen und
  341.  
  342.      2. in der Dokumentation zu den  Programm muß  ein Hinweis  auf die
  343.         Verwendung von Lib4A86 (incl. des Namens des Autors von Lib4A86
  344.         erscheinen)
  345.  
  346.      Der Punkt  (1) wird schon  von den Routinen gewährleistet, für den
  347.      Punkt (2) ist der/die Programmierer/in verantwortlich.
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359. ────────────────────────────────────────────────────────────────────────────────
  360. Dokumentation für Lib4A86                                           Seite    5
  361.  
  362.  
  363.  
  364.    Bedenken  Sie  bitte,  daß  ich  eine  Menge  Arbeit und Zeit in die
  365.    Routinen  gesteckt  habe! Seien  Sie fair und  unterstützen Sie  das
  366.    Shareware-Konzept!  Nur so werden ich und  andere  Shareware-Autoren
  367.    in Zukunft in der Lage und  willens  sein, auch weitere Software als
  368.    Shareware zu vertreiben.
  369.  
  370.  
  371.  
  372. Weitergabe von Lib4A86
  373. ──────────────────────
  374.  
  375.    Die Shareware-Diskette  darf beliebig  weitergegeben werden, solange
  376.    keine Datei entfernt, geändert  oder  umbenannt  wird,  keine  Datei
  377.    ohne  Genehmigung des Autors hinzugefügt wird und keinerlei Gebühren
  378.    o.ä. dafür genommen werden.
  379.  
  380.    Die Vollversion darf, mit Ausnahme der Datei INC.EXE,  ebenfalls be-
  381.    liebig  -  mit  den o.a. Einschränkungen  -  weitergegeben werden.
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419. ────────────────────────────────────────────────────────────────────────────────
  420. Dokumentation für Lib4A86                                           Seite    6
  421.  
  422.  
  423.  
  424. Vertriebsbedingungen für Händler und Mailboxen
  425. ──────────────────────────────────────────────
  426.  
  427.    Händler dürfen die Shareware-Version von Lib4A86 vertreiben, solange
  428.    folgende Punkte eingehalten werden:
  429.  
  430.    Es  dürfen  keine Dateien  auf der Diskette  geändert oder  gelöscht
  431.    werden. D.h. *ALLE* in der Datei README.DOC bzw. in den .LST-Dateien
  432.    aufgelisteten Dateien müssen in unveränderter Form vorhanden sein.
  433.  
  434.    Außer kleineren  Info- oder Werbedateien  dürfen ohne  Absprache mit
  435.    dem Autor keine weiteren Dateien auf die Diskette kopiert werden.
  436.  
  437.    Es darf immer nur die neueste Version von Lib4A86 vertrieben werden.
  438.    Händler, die Lib4A86 vertreiben wollen, sollten sich daher auf meine
  439.    Mailing-Liste für Update-Versionen setzen lassen.
  440.    Der  Bezug der Updates  von Lib4A86 kann  auch über die DS (Deutsche
  441.    Shareware) erfolgen.
  442.    Für den Vertrieb der Shareware-Version von Lib4A86 darf  eine Gebühr
  443.    von  bis zu  20,- DM  verlangt  werden, solange  sichergestellt ist,
  444.    daß der Käufer weiß,  daß es sich  hierbei um Gebühren des Vertriebs
  445.    und NICHT um den Preis von Lib4A86 handelt.
  446.  
  447.    Der Katalog-Eintrag für Lib4A86 muß immer auch den Namen  des Autors
  448.    - Bernd Schemmer - enthalten.
  449.    Zudem muß aus dem Katalog klar ersichtlich sein, daß es sich um eine
  450.    Shareware-Version handelt.
  451.    Die Begriffe  Public Domain, Freie Software oder Freeware dürfen mit
  452.    Bezug auf Lib4A86 weder schriftlich noch mündlich verwendet werden.
  453.  
  454.    Für  die  Katalog-Einträge  sollte  die  Datei Lib4A86.TXT  bzw. ein
  455.    Auszug aus dieser verwendet werden.
  456.  
  457.    Für den Vertrieb  von  Lib4A86 über  Mailboxen  gelten ebenfalls die
  458.    obigen Bedingungen. Das Packen ALLER Dateien auf der Diskette in ein
  459.    neues Archiv ist für den Vertrieb über Mailboxen gestattet.
  460.  
  461.    Ich  behalte mir  vor,  Vertrieben oder  Mailboxen,  die gegen diese
  462.    Bedingungen verstoßen, den Vertrieb von Lib4A86 zu untersagen.
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479. ────────────────────────────────────────────────────────────────────────────────
  480. Dokumentation für Lib4A86                                           Seite    7
  481.  
  482.  
  483.  
  484. Gewährleistung
  485. ──────────────
  486.  
  487.    Alle Routinen, Macros und Utils wurden  von  mir ausgiebig  getestet
  488.    und  laufen in von  mir erstellten Programmen fehlerfrei. Allerdings
  489.    kann ich natürlich nicht dafür garantieren, daß  die  Routinen voll-
  490.    ständig  fehlerfrei  sind.
  491.    (Bitte unbedingt den Punkt 'Einschränkungen ...' beachten!)
  492.  
  493.    Für eventuell  durch die  Benutzung von Lib4A86  entstehende Schäden
  494.    und Datenverluste übernehme ich deshalb keinerlei Verantwortung!
  495.  
  496.    Falls Sie  Fehler in der Sammlung  finden,  wäre ich Ihnen über eine
  497.    Mitteilung hierüber  dankbar.
  498.  
  499.    Und das Ganze nochmal in Juristen-Deutsch ...
  500.  
  501.  
  502.  
  503. Garantieausschlußerklärung
  504. ──────────────────────────
  505.  
  506.    Garantieausschlußerklärung für Lib4A86 und die zugehörigen Utils und
  507.    Textdateien  mit  der  Dokumentation,  im weiteren 'diese  Software'
  508.    genannt, von  Bernd Schemmer, im weiteren 'der Autor' genannt:
  509.  
  510.    Der Autor gibt keine Garantien irgendeiner Art,  weder  ausdrücklich
  511.    noch implizit, einschliesslich unbegrenzt aller  Garantien der  Ver-
  512.    wendbarkeit und/oder Nichtverwendbarkeit für  irgendeinen Zweck. Der
  513.    Autor übernimmt keine Verpflichtungen  für den Gebrauchswert  dieser
  514.    Software  über den  Kaufpreis  dieser Software  hinaus. Unter keinen
  515.    Umständen  ist der  Autor  haftbar  für  jedwede  Folgeschäden, ein-
  516.    schliesslich aller entgangenen Gewinne  und  Vermögensverluste, oder
  517.    anderer  mittelbarer  und  unmittelbarer  Schäden,   die  durch  den
  518.    Gebrauch  oder die  Nichtverwendbarkeit  dieser  Software  und ihrer
  519.    begleitenden Dokumentation entstehen. Dies gilt  auch dann, wenn der
  520.    Autor  über die  Möglichkeit solcher  Schäden  unterrichtet war oder
  521.    ist.
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539. ────────────────────────────────────────────────────────────────────────────────
  540. Dokumentation für Lib4A86                                           Seite    8
  541.  
  542.  
  543.  
  544. Inhalt der Dateien
  545. ──────────────────
  546.  
  547. Inhalt der Datei LIB.EXE und der Datei DOC.EXE
  548. ──────────────────────────────────────────────
  549.  
  550.    Im Archiv LIB.EXE befinden sich die  Quelltexte der Routinen und der
  551.    Macros.
  552.  
  553.    Die Routinen sind jeweils in einzelne Bereiche  eingeteilt, und alle
  554.    Routinen eines Bereiches sind in einer  .LIB-, .BIB- oder .MAB-Datei
  555.    zusammengefaßt.  (z.B. in der Datei ENV.LIB befinden  sich  in  alle
  556.    Routinen zur Bearbeitung des Environments).
  557.  
  558.    Die Endungen der Dateien stehen dabei für die Art der Datei:
  559.  
  560.     .LIB  - Routinen und Macros,die unabhängig von allen anderen .LIB-,
  561.             .MAB- und .BIB-Dateien benutzt werden können.
  562.  
  563.     .BIB  - Routinen,  die  auf die Routinen aus den .LIB-Dateien  auf-
  564.             setzen.  Zusätzlich  werden von  manchen .BIB-Dateien  auch
  565.             eine  oder mehrere .MAB-Dateien benötigt.  Dies ist jeweils
  566.             in der Dokumentation vermerkt.
  567.  
  568.     .MAB  - Diese Dateien enthalten nur Macros und EQUs.  Im  Gegensatz
  569.             zu den .LIB-/.BIB-Dateien  müssen  diese  Dateien normaler-
  570.             weise  (s. Arbeiten ...) bei der Compilierung mit angegeben
  571.             werden  -  falls die dort deklarierten Macros in einem Pro-
  572.             gramm benutzt werden sollen
  573.  
  574.    Zusätzlich befindet sich im Archiv LIB.EXE die Datei A86.LIB.
  575.    Dies ist die vom  Assembler A86  benutzbare  Libary-File in der alle
  576.    von den  anderen .LIB- bzw.  .BIB-Dateien  zur Verfügung  gestellten
  577.    Routinen und Variablen verzeichnet sind (aber keine Macros).
  578.    Diese Datei  muß  immer  im  gleichem  Directory wie  die .LIB/.BIB-
  579.    Dateien sein,  da der Pfad der .LIB/.BIB-Dateien nicht darin gespei-
  580.    chert ist. (siehe auch die Dokumentation zum A86)
  581.    Als  registrierter  Benutzer des A86  können Sie sich natürlich auch
  582.    eine eigene Datei A86.LIB erstellen.
  583.  
  584.    Zusätzlich befindet sich im Archiv LIB.EXE noch die Datei MACROS.MAC
  585.    mit allgemeinen Macros.  Diese wird  für die  Compilierung der Demos
  586.    benötigt (s.u.); für die Benutzung von Lib4A86 ist diese Datei NICHT
  587.    nötig.
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599. ────────────────────────────────────────────────────────────────────────────────
  600. Dokumentation für Lib4A86                                           Seite    9
  601.  
  602.  
  603.  
  604.    Zu  jeder .LIB-, .BIB- und .MAB-Datei existiert eine .DOC-Datei  mit
  605.    gleichem Namen  im  Archiv  DOC.EXE.  In  dieser stehen jeweils alle
  606.    Informationen die für den Einsatz der Routinen und Macros in eigenen
  607.    Programmen nötig sind. Ich verzichte deshalb hier  auf  eine weitere
  608.    Anführung der Routinen bzw. Macros und deren Beschreibung.
  609.  
  610.    Hinweis: Lassen  Sie sich  bitte nicht  von der  Angabe '.. XXX.INC'
  611.             bzw. '.. XXX.MAC' in den Headern  der .DOC-Dateien  stören.
  612.             Die .INC-  bzw.  .MAC-Dateien  sind  die  Quelldateien, aus
  613.             denen  die .DOC-  und  die .LIB- bzw  .MAB-Dateien erstellt
  614.             wurden.
  615.             Die .DOC-Dateien sind nicht seitenweise formatiert.
  616.  
  617.    Für  alle  .LIB-, .MAB-  bzw.  .BIB-Dateien (mit Ausnahme der  Datei
  618.    A86.LIB gilt) folgendes:
  619.  
  620.    In jeder .LIB-, .MAB- bzw. .BIB-Datei befindet sich  jeweils NUR der
  621.    unformatierte Quelltext ohne jeden Kommentar. Die Quelltexte mit den
  622.    Kommentaren sind nur in der Vollversion vorhanden (s.o.).
  623.    Diese  Einschränkung  ist aber für die Benutzung der Routinen/Macros
  624.    völlig unerheblich!
  625.  
  626.    Im Normalfall, falls also keine Änderung an den Routinen oder Macros
  627.    vorgenommen  werden  sollen,  ergibt  sich daraus sogar der Vorteil,
  628.    daß  die Routinen so deutlich weniger Platz belegen (nur ca. 25% der
  629.    kommentierten Quelltexte!)  und deshalb vom A86 auch schneller über-
  630.    setzt werden können.
  631.  
  632.    Die Dokumentation in den .DOC-Dateien enthält folgende Daten:
  633.  
  634.     - der Name,  die Größe,  der Inhalt und die Bedeutung von Variablen
  635.       die von anderen Routinen gelesen und/oder verändert werden dürfen
  636.  
  637.     - der Name, die Größe,  der Inhalt und die Bedeutung von Strukturen
  638.       die von anderen Routinen benutzt werden können.
  639.  
  640.     - der Name,  der Inhalt und die Bedeutung von Konstanten die in den
  641.       Routinen deklariert sind
  642.  
  643.     - der Name, die Funktionen, die Eingabe- und Ausgabe-Parameter  und
  644.       evtl. die Besonderheiten der Routinen
  645.  
  646.     - der Name,  die Funktionen,  die Eingabe-  und  Ausgabe-Parameter,
  647.       teilweise der Quelltext und evtl. die Besonderheiten der Macros
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659. ────────────────────────────────────────────────────────────────────────────────
  660. Dokumentation für Lib4A86                                           Seite   10
  661.  
  662.  
  663.  
  664.    Für die Syntax der Dokumentation gilt:
  665.  
  666.    Die  Register werden jeweils mit den  allgemeinen Namen  bezeichnet,
  667.    das Carry-Flag wird mit 'CF' bezeichnet und das Zeroflag  mit  'ZF'.
  668.  
  669.    Falls Variablen als  Eingabe- oder  Ausgabe-Parameter  einer Routine
  670.    oder eines Macros benutzt  werden, werden die Namen der Variablen in
  671.    eckigen Klammern angegeben. Beispiel:
  672.  
  673.    Eingabe: [cs:InputHandle]
  674.      bedeutet: Die Variable (cs:)InputHandle  ist ein Eingabe-Parameter
  675.                der Funktion bzw. des Macros.
  676.  
  677.    Das Gleichheitszeichen '=' bedeutet 'enthält',  die  Zeichenkombina-
  678.    tion '->' bedeutet  'zeigt auf'  und  die   Zeichenkombination '->>'
  679.    bedeutet 'bedeutet'.
  680.  
  681.    Beispiele:
  682.  
  683.    AL = Nummer des Parameters
  684.      bedeutet: Das Register AL enthält die Nummer des Parameters
  685.  
  686.    DS:SI -> Adresse
  687.      bedeutet:  Der  Inhalt  der  Register-Kombination  DS:SI  ist  die
  688.                 Adresse  (DS = Segment, SI = Offset) eines Doppelwortes
  689.                 mit der Adresse
  690.  
  691.    DS:SI = Adresse
  692.      bedeutet:  Die Register-Kombination DS:SI enthält die Adresse
  693.                 (DS = Segment, SI = Offset)
  694.  
  695.    CF = 1 ->> Fehler
  696.      bedeutet:  Falls das Carry-Flag gesetzt ist, ist ein Fehler
  697.                 aufgetreten
  698.  
  699.    Sinnvollerweise  formatieren  Sie die  .DOC-Dateien für  die Ausgabe
  700.    und drucken diese  dann jeweils auf einem neuen Blatt beginnend aus.
  701.    (Vor dem  Ausdruck  der .DOC-Dateien sollten Sie Ihren  Drucker  auf
  702.    132 Zeichen/Zeile einstellen, siehe Drucker-Handbuch).
  703.  
  704.    Die  so  erhaltene  Loseblatt-Sammlung  können   Sie  dann  je  nach
  705.    Geschmack geordnet in einem Ringordner verwahren.
  706.    Dieses  Verfahren hat  gegenüber einem  gedrucktem Handbuch  mehrere
  707.    Vorteile:
  708.  
  709.    1. Ein  Ringordner  ist  für  das  Nachschlagen  nach  Informationen
  710.       besser geeignet als ein gedrucktes Handbuch.
  711.  
  712.    2. Falls  Sie  eine  Update-Version  von  Lib4A86  erwerben oder die
  713.       Routinen  selbst  erweitern bzw.  ändern brauchen Sie nur jeweils
  714.       die  geänderten  Seiten neu  ausdrucken  und können diese dann in
  715.       Ihren Ringordner übernehmen.
  716.  
  717.  
  718.  
  719. ────────────────────────────────────────────────────────────────────────────────
  720. Dokumentation für Lib4A86                                           Seite   11
  721.  
  722.  
  723.  
  724.  Interna der .LIB, .MAB und .BIB-Dateien
  725.  ───────────────────────────────────────
  726.  
  727.    In  den  Routinen werden normalerweise nur lokale Labels für Sprung-
  728.    ziele und interne Variablen benutzt,  so daß  eigentlich  keine Kon-
  729.    flikte mit den Namen auftreten sollten. (Hinweis: Alle Bezeichner in
  730.    den .LIB- und .MAB-Dateien enthalten nur Großbuchstaben.)
  731.  
  732.    Um  Speicherplatz zu  sparen,  sind allerdings  viele Funktionen der
  733.    .LIB/.BIB-Dateien durch interne Routinen realisiert.
  734.  
  735.    Die Namen von  internen  Routinen beginnen alle mit der Zeichenfolge
  736.    'INTERN_'.  Diese  Routinen sollten  auf keinen Fall von einer Ihrer
  737.    Routinen direkt aufgerufen werden!
  738.  
  739.    Da die  internen Routinen in  den  .DOC-Dateien  nicht  dokumentiert
  740.    sind, sollten Sie zur Vermeidung von Namenskonflikten  in Ihrem Pro-
  741.    gramm(en) KEINE mit  der  Zeichenkette  'INTERN_'  beginnenden Namen
  742.    verwenden.
  743.  
  744.    Da  die Routinen  teilweise regen Gebrauch von den internen Routinen
  745.    machen, ist es auch nicht ratsam einzelne Routinen  aus einer  Datei
  746.    heraus zu lösen (zumindest nicht in der Shareware-Version)!
  747.  
  748.    Verschiedene  Routinen sind in  mehreren Dateien enthalten (z.B. ist
  749.    die Routine UPCASE in der Datei ENV.LIB und in der Datei STRINGS.LIB
  750.    enthalten).  Diese Routinen  sind aber so implementiert, daß  sie im
  751.    compilierten Programm nur einmal enthalten sind - auch  wenn  sie in
  752.    mehreren .LIB- bzw. .BIB-Dateien für das Programm vorkommen.
  753.  
  754.  
  755.  Der Unterschied zwischen .LIB-, .MAB und .BIB-Dateien
  756.  ─────────────────────────────────────────────────────
  757.  
  758.    Die  Routinen in einer .LIB-Datei und die Macros in einer .MAB-Datei
  759.    sind  jeweils  unahängig von den anderen .LIB- und .MAB-Dateien, wo-
  760.    hingegen die .BIB-Dateien jeweils mindestens eine (meistens mehrere)
  761.    Routinen  aus  mindestens  einer  (ebenfalls  meistens mehrerer) der
  762.    .LIB-Dateien benötigen und eventuell auch noch Macros aus einer oder
  763.    mehrerer der .MAB-Dateien benötigen.
  764.  
  765.    Die  benötigten .MAB- und  .LIB-Dateien sind jeweils in der Dokumen-
  766.    tation zu den .BIB-Dateien  angegeben.
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779. ────────────────────────────────────────────────────────────────────────────────
  780. Dokumentation für Lib4A86                                           Seite   12
  781.  
  782.  
  783.  
  784. Inhalt der Datei DEMO.EXE
  785. ─────────────────────────
  786.  
  787.    Das Archiv DEMO.EXE  enthält  zu  fast jeder .LIB-, .MAB- bzw. .BIB-
  788.    Datei  jeweils ein kleines Demo-Programm.  Die Demoprogramme  liegen
  789.    als kommentierter Quelltext vor und müssen noch compiliert werden.
  790.  
  791.    Der  Name des Quelltextes eines Demo-Programm  ist  jeweils der Name
  792.    der .LIB-,  .MAB-  oder  .BIB-Datei mit  der Erweiterung .DEM.
  793.  
  794.    Die  Demo-Programme  sind  nicht  weiter  dokumentiert,  sie  dienen
  795.    hauptsächlich zur  Demonstration  der  Nutzung  der Routinen. (siehe
  796.    Quelltexte der Demos)
  797.  
  798.    Zusätzlich  befindet sich in dem  Archiv die  Datei DEMOS.INC. Diese
  799.    Datei und die Datei MACROS.MAC wird für  die  Compilierung der Demos
  800.    benötigt.
  801.    Für die Benutzung der Routinen sind diese Dateien aber nicht nötig!
  802.  
  803.    Da die Datei MACROS.MAC  für die  Compilierung der  Demos als  ERSTE
  804.    Quelldatei angegeben werden  muß,  haben  Sie zwei Möglichkeiten für
  805.    die Compilierung der Demos:
  806.  
  807.    1. Sie definieren die Environment-Variable A86 mit  dem Pfad und dem
  808.       Namen der Datei MACROS.MAC als Inhalt.  In diesem Fall compiliert
  809.       der A86 automatisch zuerst  die Datei MACROS.MAC bei jedem Compi-
  810.       liervorgang (siehe Dokumentation zum A86).
  811.  
  812.    2. Oder Sie geben die Datei MACROS.MAC explizit beim Compilieren als
  813.       erste Datei an.
  814.  
  815.    Beispiel:  Compilieren des Demos ENV.DEM
  816.  
  817.    nach (1):  SET A86=C:\A86\LIB\MACROS.MAC     
  818.               REM Pfad eventuell anpassen!      
  819.               A86 ENV.DEM DEMOS.INC TO ENV.COM  
  820.  
  821.    oder
  822.    nach (2):  A86 MACROS.MAC ENV.DEM DEMOS.INC TO ENV.COM 
  823.  
  824.    In  beiden  Fällen  müssen die  .LIB/.BIB-Dateien  jeweils  über die
  825.    Datei A86.LIB für den Assembler A86 erreichbar sein!
  826.  
  827.  
  828.    Im Archiv DEMO.EXE befindet sich zudem noch die  Batch-Datei MKDEMOS
  829.    (.BAT). Mit Hilfe dieser können die Demos compiliert werden.
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839. ────────────────────────────────────────────────────────────────────────────────
  840. Dokumentation für Lib4A86                                           Seite   13
  841.  
  842.  
  843.  
  844.    Die  Batch-Datei   MKDEMOS.BAT  geht  davon  aus,  daß,  falls  eine
  845.    Environment-Variable  mit  dem  Namen A86  deklariert ist, diese den
  846.    Dateinamen MACROS.MAC enthält.  Existiert keine Environment-Variable
  847.    mit dem Namen A86, so ruft MKDEMOS.BAT den A86 jeweils mit den Para-
  848.    metern  nach der  2. Möglichkeit auf. Die  Datei  MACROS.MAC muß  in
  849.    diesem Fall im gleichen Directory wie die .DEM-Dateien sein.
  850.    (siehe auch unter 'Arbeiten mit den Routinen')
  851.  
  852.    Die  .MAB-Dateien  für die eine .DEM-Datei existiert, müssen für die
  853.    Übersetzung dieser Demos im gleichen Directory wie die  .DEM-Dateien
  854.    sein.
  855.  
  856.    In  beiden  Fällen  müssen die  .LIB/.BIB-Dateien  jeweils  über die
  857.    Datei A86.LIB für den Assembler A86 erreichbar sein!
  858.  
  859.    Ist  dies nicht der  Fall, muß  die jeweilige .LIB- .MAB- bzw. .BIB-
  860.    Datei bei der Compilierung mit angegeben werden, im Beispiel also:
  861.  
  862.     A86 MACROS.MAC ENV.DEM ENV.LIB DEMOS.INC TO ENV.COM 
  863.  
  864.    In diesem Fall kann die Datei MKDEMOS.BAT NICHT für die Compilierung
  865.    benutzt werden!
  866.  
  867.    Manche Demos benötigen zur Compilierung zusätzliche .MAB-Dateien.
  868.    Dies ist dann im Kopf des Quelltextes der Demos vermerkt. Die Batch-
  869.    Datei MKDEMOS.BAT berücksichtigt dies. Sie geht davon aus,  daß  die
  870.    benötigten  .MAB-Dateien im  gleichen Directory wie die .DEM-Dateien
  871.    sind.
  872.  
  873.    Hinweis:
  874.  
  875.    Die Demos  benötigen  immer nur  die .LIB/.BIB-Datei für die sie ge-
  876.    schrieben wurden und die  Dateien  MACROS.MAC  und  DEMOS.INC,  d.h.
  877.    sie enthalten teilweise redundanten Code.
  878.  
  879.    Zur Compilierung der Demos müssen die möglichen Schalter für den A86
  880.    auf Ihre Voreinstellungen stehen. (Dies ist nur von Bedeutung, falls
  881.    Sie eine  Environment-Variable A86 mit Schaltern für den A86  dekla-
  882.    riert haben.)
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899. ────────────────────────────────────────────────────────────────────────────────
  900. Dokumentation für Lib4A86                                           Seite   14
  901.  
  902.  
  903.  
  904. Inhalt der Datei UTIL.EXE
  905. ─────────────────────────
  906.  
  907.   Die Datei  UTIL.EXE enthält mehrere Utils incl. der Dokumentation zur
  908.   Arbeit mit dem A86.
  909.  
  910.   Im Moment sind dies:
  911.  
  912.   MAKEDOC.COM
  913.   MAKEDOC.DOC      - Util  zum  Erstellen  der  Dokumentation  zu einem
  914.                      Assembler-Quelltext  durch  Extrahieren bestimmter
  915.                      Kommentare. (Mit  MAKEDOC wurden die Dokumentation
  916.                      zu den Routinen auf dieser Diskette erstellt.)
  917.  
  918.   MAKELIB.COM
  919.   MAKELIB.DOC      - Util  zur  Erstellung einer .LIB-Datei für den A86
  920.                      aus  einem  Assembler-Quelltext   durch  Entfernen
  921.                      aller überflüssigen Zeichen und Zeilen aus dieser.
  922.                      (Mit  MAKELIB  wurden  die  .LIB-,  .MAB und .BIB-
  923.                       Dateien auf dieser Diskette erstellt.)
  924.  
  925.   Für die genauere Beschreibung  der Utils  bitte in den entsprechenden
  926.   .DOC-Dateien  nachschauen. Die .DOC-Dateien  aus dem  Archiv UTIL.EXE
  927.   sind jeweils für den  Ausdruck formatiert  (max. 80 Zeichen/Zeile und
  928.   max. 60 Zeilen/Seite).
  929.  
  930.  
  931.  
  932. Inhalt der Datei INC.EXE
  933. ────────────────────────
  934.  
  935.   Das, nur in der Vollversion  enthaltene,  Archiv  INC.EXE enthält  zu
  936.   jeder  .LIB-,  .MAB-  bzw.  .BIB-Datei  jeweils die kommentierten und
  937.   formatierten  Quelltexte.   Der  Name der Dateien ist dabei identisch
  938.   mit dem Namen der .LIB, .MAB- bzw. .BIB-Dateien und  die  Erweiterung
  939.   der Dateien ist .INC (bzw. .MAC bei den .MAB-Dateien).
  940.  
  941.  
  942.  
  943. Einschränkungen der Routinen
  944. ────────────────────────────
  945.  
  946.    Die Routinen wurden speziell für den A86 (Version 3.22, die  meisten
  947.    Routinen  dürften  aber  auch  mit älteren  Versionen  nutzbar sein)
  948.    geschrieben.
  949.    Die Nutzung  dieser für andere Assembler ist ohne größere Änderungen
  950.    im  Quelltext nicht  möglich, da in  den Routinen  ausgiebig von den
  951.    speziellen Features des A86 gebrauch gemacht wird.
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959. ────────────────────────────────────────────────────────────────────────────────
  960. Dokumentation für Lib4A86                                           Seite   15
  961.  
  962.  
  963.  
  964.    Ich halte es da mit Eric Isaacson, dem Autor vom A86:
  965.  
  966.    Wer einmal  mit dem  A86 gearbeitet  hat,  wird andere Assembler nur
  967.    noch für spezielle Notfälle benutzen.
  968.  
  969.    Bitte bedenken  Sie,  daß  Sie bei  bei  Nutzung  des  A86  auch von
  970.    diesem die Vollversion erwerben müssen!
  971.    Aus eigener Erfahrung kann ich auch hier nur Positives vermerken.
  972.    (Die  Vollversion  bekam ich ohne Probleme ca. 1 1/2 Wochen nach der
  973.    Bestellung direkt aus den USA)
  974.  
  975.    Für  die  Nutzung der  Routinen mit  anderen  Assemblern  oder  auch
  976.    anderen  Programmiersprachen,  bietet  sich nur  die Übersetzung der
  977.    Routinen in .OBJ-Dateien an, die  dann über ein noch zu schreibendes
  978.    Interface zum Hauptprogramm hinzugelinkt werden können.
  979.  
  980.    Alle Routinen wurden für  .COM-Programme  geschrieben, d.h.  das sie
  981.    keinerlei  Segment-Anweisungen  enthalten  und  alle  internen Daten
  982.    direkt im Code-Segment liegen.(Die von den Routinen zu bearbeitenden
  983.    Daten können allerdings überall im Speicher liegen.)   Dies  ist vor
  984.    allem bei Macros, die interne Routinen-Daten lesen oder verändern zu
  985.    beachten!
  986.  
  987.    Alle  Routinen  sind  als  NEAR-Routinen  codiert, PROC-, ENDP- oder
  988.    SEGMENT-Anweisungen wurden nicht verwendet.
  989.  
  990.    Die Routinen sind i.a. nicht wieder-eintrittsfähig.
  991.  
  992.    Die Routinen zur Dateibearbeitung sind nicht netzwerkfähig.
  993.  
  994.    Falls  es nicht explizit in der Dokumentation der Routinen angegeben
  995.    ist, verwenden die Routinen keine undokumentierten Features.
  996.  
  997.    Alle  Routinen benutzen das Register AX  als  Arbeitsregister (falls
  998.    nichts  anderes  angegeben ist) und verändern  außer  diesem und dem
  999.    Flagregister keine Register, die  nicht zur Rückgabe von Ergebnissen
  1000.    benötigt werden.
  1001.  
  1002.    Alle  Routinen, die  mit Strings  arbeiten, erwarten einen String im
  1003.    Pascal-Format (d.h. mit einem führendem  Längenbyte).  Daraus ergibt
  1004.    sich eine max. Stringlänge von 255 Zeichen.
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019. ────────────────────────────────────────────────────────────────────────────────
  1020. Dokumentation für Lib4A86                                           Seite   16
  1021.  
  1022.  
  1023.  
  1024.    Das  letzte  Zeichen eines  Strings,  der für  die  Dircectory- oder
  1025.    Dateibearbeitung benötigt  wird  (z.B. ein  Dateiname) darf nicht am
  1026.    Offset FFFFh stehen, da das Byte hinter dem String temporär  von den
  1027.    Routinen benutzt wird. (kommt im Normalfall auch nicht vor)
  1028.  
  1029.    Alle  Zahlenwerte in  den Routinen  sind mit einer expliziten Angabe
  1030.    des Zahlensystems versehen, so daß  das voreingestellte Zahlensystem
  1031.    für die Compilierung egal ist.
  1032.  
  1033.    Alle  Routinen, bei denen nicht explizit etwas anderes vermerkt ist,
  1034.    belegen nur minimalen Platz (für die Sicherung der Register) auf dem
  1035.    Stack.
  1036.  
  1037.    Die  Routinen  die DOS-Funktionen oder Strukturen nutzen  (z.B.  zur
  1038.    Datei-  und  Directory-Behandlung,  zum  Bearbeiten von Textdateien,
  1039.    zur  Ausführung  von  Programmen  oder  zur  Environment-Behandlung)
  1040.    benötigen  eine  DOS-Version  ab  3.0. Manche Routinen  oder  Macros
  1041.    benötigen auch  eine DOS-Version ab 3.3, 4.0 oder 5.0. Dies ist dann
  1042.    in der Dokumentation der Routinen angegeben.
  1043.    Die  DOS-Version  muß IMMER  von den  aufrufenden Routinen überprüft
  1044.    werden.
  1045.  
  1046.  
  1047.  
  1048. Arbeiten mit den Routinen
  1049. ─────────────────────────
  1050.  
  1051.    Zur effizienten  Nutzung von Lib4A86  sollte  folgendermaßen  vorge-
  1052.    gangen werden:
  1053.  
  1054.    Richten  Sie  auf Ihrer Festplatte  ein eigenes  Directory  für  die
  1055.    Routinen  ein  und kopieren  Sie dorthin alle .LIB-, .BIB- und .MAB-
  1056.    Dateien. (auch die Datei A86.LIB - z.B. ins Directory C:\A86\LIB)
  1057.  
  1058.    Vermerken Sie den Namen dieses Directorys in der Environmentvariable
  1059.    A86LIB.  (z.B. durch SET A86LIB=C:\A86\LIB\)
  1060.  
  1061.    Nun können Sie alle Routinen aus den Dateien beliebig in  Ihren Pro-
  1062.    grammen für den A86 verwenden, da dieser diese über die Envrionment-
  1063.    Variable A86LIB  und die Datei A86.LIB im Directory mit den Routinen
  1064.    jederzeit findet. (siehe auch Dokumentation zum A86)
  1065.  
  1066.    Hinweis:
  1067.  
  1068.    Sinnvollerweise machen  Sie  die Zuordnung der  Environment-Variable
  1069.    A86LIB schon in der AUTOEXEC-Datei.
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079. ────────────────────────────────────────────────────────────────────────────────
  1080. Dokumentation für Lib4A86                                           Seite   17
  1081.  
  1082.  
  1083.  
  1084.    Im Gegensatz zu den Routinen müssen Macros und  Definitionen vor der
  1085.    Benutzung definiert sein.
  1086.    Für  diesen  Fall wurde  die (EQU-)Konstante Lib4A86  implementiert.
  1087.    Mit dieser Variable hat es folgende Bewandnis:
  1088.  
  1089.    Falls  die Konstante Lib4A86 vor  der Compilierung  einer .LIB- oder
  1090.    .BIB-Datei definiert ist, wird in  der ersten der  zu compilierenden
  1091.    .LIB- bzw. .BIB-Datei (und NUR in dieser!) als erste  Anweisung  der
  1092.    Befehl 'JMP START'  eingefügt. Ist die Konstante Lib4A86 nicht defi-
  1093.    niert, so wird der Befehl nicht eingefügt.
  1094.  
  1095.    Der  Zweck dieser  Vorgehensweise läßt sich am einfachsten  an einem
  1096.    Beispiel verdeutlichen:
  1097.  
  1098.    Angenommen Sie möchten die Datei TEST.A86 compilieren,  wobei in der
  1099.    Datei  TEST.A86 die  Macros und EQUs aus den Dateien STRINGS.LIB und
  1100.    ENV.LIB benötigt werden.
  1101.  
  1102.    Normalerweise müssten Sie hierfür den A86 folgendermaßen aufrufen:
  1103.  
  1104.     A86 TESTBEG.A86 d:STRINGS.LIB d:ENV.LIB TEST.A86 TO TEST.COM 
  1105.  
  1106.    wobei in der Datei TESTBEG.A86 nur der Befehl 'JMP START'  enthalten
  1107.    sein müsste und das eigentliche Programm am Label START in der Datei
  1108.    TEST.A86 beginnt. ('d:' ist hier der Pfad der Datei STRINGS.LIB; der
  1109.    JMP-Befehl ist nötig, damit die  Routinen und Daten aus  den Dateien
  1110.    STRINGS.LIB und ENV.LIB übersprungen werden.)
  1111.  
  1112.    Durch das  Definieren der  Konstante Lib4A86  in der Aufrufzeile für
  1113.    den A86 läßt sich dies nun vereinfachen:
  1114.  
  1115.     A86 =Lib4A86 d:STRINGS.LIB d:ENV.LIB TEST.A86 TO TEST.COM 
  1116.  
  1117.    Nun wird in der Datei STRINGS.LIB vor allen Daten und Routinen auto-
  1118.    matisch der Befehl 'JMP START'  eingefügt und  die Datei TESTBEG.A86
  1119.    kann entfallen. (Das eigentliche Programm in der Datei TEST.A86  muß
  1120.    aber immer noch am Label START beginnen!)
  1121.  
  1122.    Zur  weiteren  Vereinfachung  läßt sich  die Konstante  Lib4A86 auch
  1123.    schon in der Environment-Variable A86 definieren:
  1124.  
  1125.     SET A86=d:MACROS.MAC =Lib4A86 
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139. ────────────────────────────────────────────────────────────────────────────────
  1140. Dokumentation für Lib4A86                                           Seite   18
  1141.  
  1142.  
  1143.  
  1144.    Nun vereinfacht sich der Aufruf des A86 zum Compilieren von TEST.A86
  1145.    zu:
  1146.  
  1147.     A86 d:STRINGS.LIB d:ENV.LIB TEST.A86 to TEST.COM 
  1148.  
  1149.    Falls die Environment-Variable A86LIB nur einen Pfad (der  mit einem
  1150.    Backslash '\' oder einem Doppelpunkt ':' endet) enthält,  kann diese
  1151.    Variable auch als Pfad für die Dateien STRINGS.LIB und ENV.LIB ange-
  1152.    geben werden:
  1153.  
  1154.     A86 %A86LIB%STRINGS.LIB %A86LIB%ENV.LIB TEST.A86 to TEST.COM 
  1155.  
  1156.    Dies vereinfacht den Aufruf vor allem  falls Sie mehrere  .LIB- bzw.
  1157.    .BIB-Dateien  angegeben müssen  und diese  in  einem verschachtelten
  1158.    Directory liegen.
  1159.    Sinnvollerweise machen  Sie  die Zuordnung der  Environment-Variable
  1160.    A86 schon in der AUTOEXEC-Datei. In diesem Fall wird zwar  die Zeile
  1161.    'JMP START' auch eingefügt,  falls die  .BIB- bzw. .LIB-Dateien nach
  1162.    dem  Hauptprogramm compiliert  werden, dies stört aber nicht. (Die 3
  1163.    Bytes, die  der - dann  überflüssige, aber nicht schädliche - Befehl
  1164.    'JMP START' belegt, sind auch nicht die Welt.)
  1165.  
  1166.    In diesem Fall muß  aber in allen Programmen, die Routinen aus einer
  1167.    oder mehrerer .LIB-  bzw. .BIB-Dateien benötigen,  ein Label mit dem
  1168.    Namen START definiert sein!
  1169.  
  1170.    Allerdings  können Sie  die  Definition der Konstante  Lib4A86  beim
  1171.    Aufruf des A86 auch für diese  eine Compilierung  jederzeit mit  dem
  1172.    Parameter '=!Lib4A86' wieder ausschalten. In  diesem  Fall muß  dann
  1173.    kein Label mit dem Namen START definiert sein.
  1174.  
  1175.    z.B.  A86 =!Lib4A86 OHNELIB.A86 TO OHNELIB.COM 
  1176.  
  1177.    Hinweis:
  1178.  
  1179.    Die Namen der .MAB-Dateien, die Sie öfter benutzen, können ebenfalls
  1180.    in der  Variable A86  vermerkt werden. Sie  werden  dann vom A86 bei
  1181.    jedem Compiliervorgang als erste Dateien übersetzt.
  1182.  
  1183.     z.B.   SET A86=C:\A86\LIB\MACROS.MAC C:\A86\LIB\EXTDOS.MAB 
  1184.     oder   SET A86=C:\A86\LIB\*.MA? =Lib4A86                   
  1185.  
  1186.    Da in  den  .MAB-Dateien  nur Macros, Strukturen  und EQUs definiert
  1187.    sind, wird  hierdurch das Programm nicht länger. Probleme damit kann
  1188.    es nur  geben,  falls Sie  in Ihrem Programm soviele Macros und EQUs
  1189.    definieren, daß die internen Tabellen des A86 nicht ausreichen.
  1190.    (sollte aber normalerweise nicht vorkommen)
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199. ────────────────────────────────────────────────────────────────────────────────
  1200. Dokumentation für Lib4A86                                           Seite   19
  1201.  
  1202.  
  1203.  
  1204. Copyright
  1205. ─────────
  1206.  
  1207.    Das Copyright  für alle  auf der Diskette befindlichen Dateien liegt
  1208.    bei:
  1209.  
  1210.             Bernd Schemmer        
  1211.             Ondrup 117            
  1212.             4710 Lüdinghausen 2   
  1213.  
  1214.  
  1215.    Warenamen und eingetragene Warenzeichen  werden in der Dokumentation
  1216.    ohne Gewährleistung einer freien Verwendung benutzt.
  1217.  
  1218.  
  1219.  
  1220. Bestellformular für die Vollversion
  1221. ───────────────────────────────────
  1222.  
  1223.  
  1224.     Hinweise:
  1225.  
  1226.     Die angegebenen Preise gelten garantiert nur bis zum 30.06.1992.
  1227.     Ab diesem Zeitpunkt können Preisänderungen eintreten.
  1228.  
  1229.     Das Formular bitte  mit  dem Computer oder der Schreibmaschine aus-
  1230.     füllen!
  1231.  
  1232.     Und noch ein Hinweis:
  1233.  
  1234.     Die Shareware-Version  bekommen Sie  bei  den meisten PD/Shareware-
  1235.     Vertrieben  für eine geringere Gebühr als bei mir!
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259. ────────────────────────────────────────────────────────────────────────────────
  1260. Dokumentation für Lib4A86                                           Seite   20
  1261.  
  1262.  
  1263.  
  1264.     An: Bernd Schemmer
  1265.         Stichwort: Lib4A86
  1266.         Ondrup 117
  1267.         4710 Lüdinghausen 2
  1268.  
  1269.                                   │    Menge  │   Preis
  1270.     ──────────────────────────────┼───────────┼────────────────────────
  1271.     Vollversion von Lib4A86       │           │
  1272.     (neueste Version) á 50,- DM   │    _____  │   _____
  1273.                                   │           │
  1274.     Update von ________ auf ______│    _____  │   _____
  1275.                                   │           │
  1276.     Shareware-Version von Lib4A86 │           │
  1277.     (neueste Version) á 20,- DM   │    _____  │   _____
  1278.                                   │           │
  1279.     Versandkosten für die Voll-   │           │
  1280.     version á 6,- DM              │    _____  │   _____
  1281.                                   │           │
  1282.     ──────────────────────────────┴───────────┼────────────────────────
  1283.                                               │
  1284.                                        Summe  │
  1285.                                               ╘═════════
  1286.  
  1287.     Lieferung per Euroscheck (liegt bei) [ ]
  1288.     Lieferung per Nachnahme              [ ] (plus Nachnahme-Kosten)
  1289.  
  1290.     Disketten-Größe:   5.25"-Disketten mit 360 KB verwendbar [ ]
  1291.                         3.5"-Disketten mit 720 KB nötig      [ ]
  1292.  
  1293.     Lieferung an:
  1294.  
  1295.     Name:       _______________________________________________________
  1296.  
  1297.     Firma:      _______________________________________________________
  1298.  
  1299.     Straße:     _______________________________________________________
  1300.  
  1301.     PLZ, Ort:   _______________________________________________________
  1302.  
  1303.     Die in der Dokumentation angeführten Bedingungen für die  Benutzung
  1304.     und Weitergabe von Lib4A86 habe ich gelesen und erkenne ich an.
  1305.  
  1306.     Ort                         Datum          Unterschrift
  1307.  
  1308.  
  1309.     ___________________________ ______________ ________________________
  1310.  
  1311.     Bitte auch folgende Daten eintragen (freiwillig):
  1312.  
  1313.     Telefon:    _____________________ Erreichbar: _____________________
  1314.                 (Tag und Uhrzeit, z.B. Mo.-Fr. zw. 9 Uhr und 16 Uhr)
  1315.  
  1316.  
  1317.     Wo haben Sie Lib4A86 kennengelernt? _______________________________
  1318.  
  1319. ────────────────────────────────────────────────────────────────────────────────
  1320. Dokumentation für Lib4A86                                           Seite   21
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379. ────────────────────────────────────────────────────────────────────────────────
  1380. Dokumentation für Lib4A86                                           Seite   22
  1381.